package comcy.pj.common.pool;

import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/** 构建一个对象池类型，将此类型的对象交给spring管理 */

@Lazy //spring框架提供的一个用于定义延迟加载特定的一个注解
@Scope("singleton")
@Component
public class ObjectPool {//bean的名字默认是类名，首字母小写
//定义无参构造函数，其目的是监控spring框架何时构建此类的对象
    public ObjectPool(){
        System.out.println("ObjectPool()");
    }


    @PostConstruct  //生命周期初始化方法，在对象构建以后执行
    public void init(){
        System.out.println("init()");
    }

    @PreDestroy    //生命周期销毁方法，对象从容器销毁之前
    public void destory(){
        System.out.println("destory()");
    }



}
